home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / answrbok / 7_8.lha / 7_8 / 7_8a4.h < prev    next >
Text File  |  1993-08-08  |  937b  |  42 lines

  1. * Copyright (c) 1990 by AT&T Bell Telephone Laboratories, Incorporated. */
  2. * The C++ Answer Book */
  3. * Tony Hansen */
  4. * All rights reserved. */
  5. define gdlinkimplement(TYPE)            \
  6.    /* insert a gdlink(TYPE) in */        \
  7.    /* front of this one */            \
  8.    void gdlink(TYPE)::                \
  9. insert(gdlink(TYPE) *newlink)        \
  10.    {                        \
  11. if (prev)                \
  12.     prev->next = newlink;        \
  13.                     \
  14. newlink->next = this;            \
  15. newlink->prev = prev;            \
  16. prev = newlink;                \
  17.    }                        \
  18.                     \
  19.    /* append a gdlink(TYPE) after this one */    \
  20.    void gdlink(TYPE)::                \
  21. append(gdlink(TYPE) *newlink)        \
  22.    {                        \
  23. if (next)                \
  24.     next->prev = newlink;        \
  25.                     \
  26. newlink->next = next;            \
  27. newlink->prev = this;            \
  28. next = newlink;                \
  29.    }                        \
  30.                     \
  31.    /* remove this link from the list */    \
  32.    void gdlink(TYPE)::remove()            \
  33.    {                        \
  34. if (prev)                \
  35.     prev->next = next;            \
  36.                     \
  37. if (next)                \
  38.     next->prev = prev;            \
  39.                     \
  40. next = prev = 0;            \
  41.    }
  42.